import java.util.ArrayList;
import java.util.List;

/**
 * Created whit IntelliJ IDEA.
 * Description：
 * User：ZHONGCHEN
 * Date:2022-02-10
 * Time:12:01
 */

/**
 * 1447. 最简分数
 * 给你一个整数 n ，请你返回所有 0 到 1 之间（不包括 0 和 1）满足分母小于等于  n 的 最简 分数 。分数可以以 任意 顺序返回。
 */
public class TestDemo {
    //更相减损法 判断分子分母是否不能约分
    public static int gcd(int i, int j) {
        while (true) {
            if (i > j) {
                i -= j;
            } else if (i < j) {
                j -= i;
            } else {
                return i;
            }
        }
    }

    public static List<String> simplifiedFractions(int n) {
        List<String> list = new ArrayList<>();
        //分母
        for (int i = 2; i <= n; i++) {
            //分子
            for (int j = 1; j <= i; j++) {
                if (gcd(i, j) == 1) {
                    list.add(j + "/" + i);
                }
            }
        }
        return list;
    }

    public static void main(String[] args) {
        System.out.println(simplifiedFractions(5));
    }
}
